'\" te
.\"  Copyright (c) 1990, 1995 by Mortice Kern Systems Inc.  All Rights Reserved  Portions Copyright (c) 1996, Sun Microsystems, Inc.  All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH GETNSTR 3XCURSES "Jun 5, 2002"
.SH NAME
getnstr, getstr, mvgetnstr, mvgetstr, mvwgetnstr, mvwgetstr, wgetnstr, wgetstr
\- get a multibyte character string from terminal
.SH SYNOPSIS
.LP
.nf
\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-I\fR /usr/xpg4/include \fB -L \fR /usr/xpg4/lib \e
\fB -R \fR /usr/xpg4/lib \fB -lcurses \fR [ \fIlibrary\fR... ]

\fBc89\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lcurses\fR [ \fIlibrary\fR... ]

#include <curses.h>

\fBint\fR \fBgetnstr\fR(\fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
.fi

.LP
.nf
\fBint\fR \fBgetstr\fR(\fBchar *\fR\fIstr\fR);
.fi

.LP
.nf
\fBint\fR \fBmvgetnstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
.fi

.LP
.nf
\fBint\fR \fBmvgetstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR);
.fi

.LP
.nf
\fBint\fR \fBmvwgetnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
.fi

.LP
.nf
\fBint\fR \fBmvwgetstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR);
.fi

.LP
.nf
\fBint\fR \fBwgetnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
.fi

.LP
.nf
\fBint\fR \fBwgetstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIstr\fR);
.fi

.SH DESCRIPTION
.sp
.LP
The \fBgetstr()\fR and \fBwgetstr()\fR functions get a character string  from
the terminal associated with the window \fBstdscr\fR or window  \fIwin\fR,
respectively. The \fBmvgetstr()\fR and \fBmvwgetstr()\fR functions move the
cursor to the  position specified in \fBstdscr\fR or \fIwin\fR, respectively,
then get a  character string.
.sp
.LP
These functions call \fBwgetch\fR(3XCURSES) and place each received character
in \fIstr\fR until a newline is received, which is also placed in \fIstr\fR.
The erase and kill characters set by the user are processed.
.sp
.LP
The \fBgetnstr()\fR, \fBmvgetnstr()\fR, \fBmvwgetnstr()\fR and
\fBwgetnstr()\fR functions read at most \fIn\fR characters.  These functions
are used to prevent overflowing the input buffer.
.sp
.LP
The \fBgetnstr()\fR, \fBwgetnstr()\fR, \fBmvgetnstr()\fR, and
\fBmvwgetnstr()\fR functions only return complete multibyte characters. If the
area pointed to by \fIstr\fR is not large enough to hold at least one
character, these functions fail.
.SH PARAMETERS
.sp
.ne 2
.na
\fB\fIstr\fR\fR
.ad
.RS 7n
Is a pointer to the area where the character string is to be placed.
.RE

.sp
.ne 2
.na
\fB\fIn\fR\fR
.ad
.RS 7n
Is the maximum number of characters to read from input.
.RE

.sp
.ne 2
.na
\fB\fIy\fR\fR
.ad
.RS 7n
Is the y (row) coordinate of starting position of character string to be read.
.RE

.sp
.ne 2
.na
\fB\fIx\fR\fR
.ad
.RS 7n
Is the x (column) coordinate of starting position of  character string to be
read.
.RE

.sp
.ne 2
.na
\fB\fIwin\fR\fR
.ad
.RS 7n
Points to the window associated with the terminal from which the character  is
to be read.
.RE

.SH RETURN VALUES
.sp
.LP
On success, these functions return \fBOK\fR. Otherwise, they return \fBERR\fR.
.SH ERRORS
.sp
.LP
None.
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Standard
_
MT-Level	Unsafe
.TE

.SH SEE ALSO
.sp
.LP
.BR getch (3XCURSES),
.BR libcurses (3XCURSES),
.BR attributes (7),
.BR standards (7)
